package xjtu.se.articlecommunity.buser.queuemanage.impl;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import xjtu.se.articlecommunity.buser.queuemanage.dao.QueueManageDao;
import xjtu.se.articlecommunity.buser.queuemanage.dto.InsFeedDto1;
import xjtu.se.articlecommunity.buser.queuemanage.dto.OrderDto;

import javax.annotation.Resource;

@Service
@Transactional
public class QueueManageService {
    @Resource
    private QueueManageDao queueManageDao;

    public void UpOrder(OrderDto dto){
        OrderDto above = queueManageDao.getAbove(dto);
        queueManageDao.updateAbove(dto);
        queueManageDao.updateBelow(above);
    }

    public void DownOrder(OrderDto dto){
        OrderDto below = queueManageDao.getBelow(dto);
        queueManageDao.updateBelow(dto);
        queueManageDao.updateAbove(below);
    }
    public void RemoveFeed(OrderDto dto){
        queueManageDao.delFeed(dto);
        queueManageDao.MoveFeedUp(dto.getA_order(),dto.getAt_tab());
    }
    public void AddFeed1(InsFeedDto1 dto) throws Exception{
        if(queueManageDao.checkArt(dto.getA_id(),dto.getAt_tab())<1) {
            throw new Exception("不存在该指定文章或者该文章不属于该标签！！");
        }
        if(queueManageDao.checkFeed(dto.getA_id(),dto.getAt_tab())>0){
            throw new Exception("指定文章已在队列中！！");
        }
        queueManageDao.MoveFeedDown(dto.getA_order(),dto.getAt_tab());
        queueManageDao.InsertFeed(dto.getA_order(),dto.getA_id(),dto.getAt_tab());
    }
    
}
